package com.swanclouds.model.event;

import com.swanclouds.model.DeviceEntity;

import java.util.List;

/**
 * @author 李文强
 * description
 */
public interface Subscriptions extends DeviceEntity {

    /**
     * 系统集合成员列表
     * @return List
     */
    List<String> getCollectionResourceList();

    /**
     *事件订阅集合资源模型的电子标签
     * @return String
     */
    String getEtag();

    /**
     *事件订阅资源节点的访问路径
     * @return String
     */

    String getDataId();

    /**
     * 事件订阅资源类型
     * @return String
     */
    String getType();

    /**
     * 目的地事件服务的URI
     * @return String
     */
    String getDescription();

    /**
     * 事件订阅集合资源数量
     * @return Integer
     */
    Integer getMembersCount();

    /**
     * 客户端提供的与事件目标
     * 订阅一起存储的字符串
     * @return String
     */
    String getContext();

    /**
     * 包含将要发送到指定的事件的类型
     * @return java.util.List
     */
    List<String> getEventTypes();

    /**
     * 事件订阅HTTP头，查询时对外显示为null
     * @return String
     */
    String getHttpHeaders();

    /**
     * 事件订阅资源的ID
     * @return String
     */
    String getId();

    /**
     * 事件消息Id匹配列表
     * @return java.util.List
     */
    List<String> getMessageIds();

    /**
     * 事件源匹配列表
     * @return java.util.List
     */
    List<String> getOriginResources();

    /**
     * 事件连接的协议类型
     * Redfish
     * @return String
     */
    String getProtocol();

    /**
     * 事件订阅资源的名称
     * @return String
     */
    String getName();
}
